//
//  DateUtil.h
//  Weike
//
//  Created by leirz on 14-4-10.
//  Copyright (c) 2014年 winupon. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface DateUtil : NSObject

+ (NSDate *)toDate:(id)millisecond;

/**
 * 获取友好的时间格式 格式：刚刚、1秒前、1分钟前、今天 12:00、昨天 12:00、05月16 12:00、2014年05月16日 12:00
 * @param date NSDate或毫秒数
 */
+ (NSString *)getTimeStr:(id)date;

/**
 * 获取友好的时间格式 格式：12:00、昨天 12:00、05-16 12:00、2014-05-16
 */
+ (NSString *)getTimeSimpleStr:(NSDate *)date;

/**
 * 获取格式为：yyyy年MM月dd日 HH:mm
 */
+ (NSString *)getTimeStrStyle3:(id)date;

/**
 * 获取格式为：yyyy年MM月dd日
 */
+ (NSString *)getTimeStrStyle4:(id)date;

/**
 * 将日期转成字符串(yyyy-MM-dd HH:mm)
 */
+ (NSString *)getTimeStrStyle5:(id)date;

/**
 * 将yyyy-MM-dd HH:mm:ss 格式的字符串转化为时间
 */
+ (NSDate *)getDateByForamt1:(NSString *) formatStr;

/**
 * 将yyyy-MM-dd 格式的字符串转化为时间
 */
+ (NSDate *)getDateByForamt6:(NSString *) formatStr;

/**
 * 获取友好的日期格式
 * @param date NSDate或毫秒数
 */
+ (NSString *)getDateStr:(id)date;

/**
 * 获取当前时间的毫秒数
 */
+ (NSString *)currentTimeMillis;

/**
 * 将日期转成毫秒数
 */
+ (NSString *)toMillis:(NSDate *)date;

/**
 * 将日期转成字符串(yyyy-MM-dd HH:mm:ss)
 */
+ (NSString *)toString:(NSDate *)date;

/**
 * 将日期转成字符串(yyyy-MM-dd)
 */
+ (NSString *)toSimpleString:(NSDate *)date;

/**
 * 将日期转成字符串(HH:mm:ss)
 */
+ (NSString *)toSimpleString1:(NSDate *)date;

/**
 * 将日期转成字符串(yyyy-MM)
 */
+ (NSString *)toSimpleString2:(NSDate *)date;

/**
 * 将日期转成字符串(yy/MM/dd)
 */
+ (NSString *)toSimpleString3:(NSDate *)date;

/**
 * 获取当前日期
 */
+ (NSDate *)getNowDate;

/**
 * 增加指定天数
 */
+ (NSDate *)addDay:(NSDate *)date day:(NSInteger)day;

/**
 * 当前日期增加指定天数
 */
+ (NSDate *)addDay:(NSInteger)day;

/**
 * 当前日期增加指定月
 */
+ (NSDate *)addMonth:(NSDate *)date count:(NSInteger)monthCount;

/**
 * 两个日期相差秒数
 */
+ (int)differSeconds:(NSDate *)now other:(NSDate *)other;

/**
 * 判断是否为同一天
 */
+ (BOOL)isSameDay:(NSDate *)date1 date2:(NSDate *)date2;

/**
 * 比较2天大小，-1：前面早 0：同一天 1：后面早
 */
+(int)compareOneDay:(NSDate *)oneDay withAnotherDay:(NSDate *)anotherDay;

/**
 * 获取日期信息，今天，昨天，[日,月]
 */
+ (NSArray *)getDateInfo:(id)date;

/**
 * 获取时间信息
 */
+ (NSDateComponents *)getTimeInfo:(NSDate *)date;

/**
 * 获取当前毫秒数
 */
+ (NSString *)getCurrentTime;

/**
 *  返回周几  周日到周六对应数字0，1..6
 */
+(NSInteger)getWeekday:(NSDate *)date;

/**
 *  获取当月的天数
 */
+(NSInteger)getDaysCountOfMonth:(NSDate *)date;

/**
 *  获取当月第一天的星期几，周日到周六对应数字0，1..6
 */
+(NSInteger)getDayWeekOfFirstDayInMonth:(NSDate *)date;


@end
